package com.edt.ichannel.api.service;

import com.edt.ichannel.api.common.entity.ActionResult;
import com.edt.ichannel.api.entiy.local.OrderCreditMonth;

import java.util.Date;
import java.util.List;

/**
 * OrderCreditMonth服务接口类
 * @author 李爽
 * @date 2019-01-10
 */
public interface OrderCreditMonthService{


    /**
     * 根据订单id查询 已经结算佣金次数
     * @param id ordercredit 系 记录id
     * @return 结算次数
     */
    int getComputTimes(String id);

    /**
     * 添加保存信息
     *
     * @param ordercreditmonth
     * @return ActionResult
     * @author 李爽
     * @date 2019-01-10
     */
    ActionResult saveOrderCreditMonth(OrderCreditMonth ordercreditmonth);

    /**
     * 查询 ordercreditck ordercreditkd 中按月发放的数据 封装成ordercreditMonth ,方便计算 切记
     * @return 需要计算佣金集合
     */
    List<OrderCreditMonth> needComputeCommissionMonth(String monthStr);

    void computerCommissionMonty();

    List<OrderCreditMonth> getAllNeedPutOut();

    /**
     * 将数据状态职位已经发放 并且将发放时间记录
     * @param id 按月发放数据 id
     * @param putoutTime 发放时间
     */
    void putOutOver(String id, Date putoutTime);
}
